There has conventionally been known a technique of directly printing by a printer an image sensed by an image sensing apparatus such as a digital camera without the mediacy of any apparatus such as a computer (see, e.g., Japanese Patent Laid-Open No. 2004-15234). More specifically, two forms are generally known: one is direct printing of directly connecting an image sensing apparatus and printer by a communication cable and printing out, and the other is card direct printing of removing from an image sensing apparatus a memory card on which image sensing data is recorded, inserting the memory card into the memory card slot of a printer, and printing out.
When an image by the digital camera is to be printed out in these forms, the brightness, contrast, and the like can also be corrected. In card direct printing, the user can designate desired image correction by operating, e.g., a user interface displayed on the display of the printer with keys, buttons, and the like. In direct printing, the user can designate correction by operating the user interface of the image sensing apparatus and switching the On/Off state of automatic image correction processing of the printer.
Conventionally, settings on execution of image correction processing are made by operating the user interface of the image sensing apparatus or printer and setting the image correction processing function of the printer.
There is also proposed a method of performing image correction by the image sensing apparatus and outputting the corrected image data to the printer. In this case, desired correction processing can be done even when the printer does not have any image correction function or the user wants to perform image correction which cannot be processed by the image correction function of the printer.
FIG. 3 shows an example of the configuration of a system which performs print processing complying with a standard called PictBridge defined by Camera & Imaging Products Association as a standard form of direct printing.
A direct printing system in FIG. 3 is configured by connecting an image sensing apparatus 100 and printer 200.
In the image sensing apparatus 100, image data read out from an image storage device 110 which is, e.g., a memory card is stored in an image buffer 111. Since the stored image is generally compressed and encoded by a compression method called JPEG, the image is decompressed (decoded) by an image decompressing unit 114 and then displayed on a display unit 115. When the user designates printing of an image displayed on the display unit 115 via a user interface 113 made up of keys and buttons, an image transmitting unit 112 reads out the designated image from the image buffer 111 and transmits the image to the printer 200.
When execution of automatic image correction processing for a print-designated image is set in a series of operations accompanied with print designation or by preset settings, a camera system controller 120 of the image sensing apparatus 100 transmits to a printer system controller 210 of the printer 200 a signal (printer image correction signal) which validates the automatic image correction function of the printer.
Image data transmitted from the image transmitting unit 112 is received by an image receiving unit 201 and stored in an image buffer 202 both of the printer 200. Since the stored image data has been compressed and encoded, it is decompressed (decoded) by an image decompressing unit 203. If the automatic image correction signal is valid (has been received), the image undergoes image correction processing by a printer image correcting unit 220; if the automatic image correction signal is invalid (has not been received), the image is input to a printer image processing unit 204. The printer image processing unit 204 executes conversion (e.g., color space conversion) of the image data into data suitable for printing, and outputs the converted data to a printing unit 205. The printing unit 205 then prints out the image.
FIG. 9 is a chart for explaining an example of a schematic signal flow when the image sensing apparatus 100 issues a print request to the printing apparatus 200 to print.
This processing sequence is executed after the image sensing apparatus 100 and printing apparatus 200 are connected via a cable, or after they communicate with each other by radio to confirm whether they comply with a predetermined communication method for printing. The image sensing apparatus 100 checks the status of the printing apparatus 200 (600). In response to this, the printing apparatus 200 notifies the image sensing apparatus 100 of the current status (in this case, “idle” status) of the printing apparatus 200 (601). Because of the “idle” status, the image sensing apparatus 100 inquires the capability of the printing apparatus 200 (602), and receives information such as print settings which can be dealt with by the printer (603). The image sensing apparatus 100 issues a print start request (Start Job) corresponding to the capability (604).
In response to the print start request, the printing apparatus 200 requests information (file attribute information such as the file size) on a file to be printed, of the image sensing apparatus 100 on the basis of the file ID of image data to be printed (Get File Info) (605). In response to this, the image sensing apparatus 100 transmits the file information (File Info). If the printing apparatus 200 determines that it can receive and process the file information, it requests the file information of the image sensing apparatus 100 (606). Image data (Image File) of the requested file is sent from the image sensing apparatus 100 to the printing apparatus 200. The printing apparatus 200 starts print processing, and sends status information representing “during printing (Printing)” 607 to the image sensing apparatus 100 by “Notify Device Status”. After one page is printed, the printing apparatus 200 notifies the image sensing apparatus 100 of the end of printing by “Notify Job Status” 608 at the start of processing the next page. If printing targets only one page, the printing apparatus 200 notifies the image sensing apparatus 100 that the printing apparatus 200 changes to the “idle” status by “Notify Device Status” 609 upon printing one print-requested page (Notify Device Status (Idle)).
However, according to the method of performing image correction processing by the printer, as shown in FIG. 3, an image cannot be corrected when the printer does not have any image correction processing function.
Even if the printer has a desired image correction function, it is cumbersome to confirm the correction result by the user. Image data after correction processing must be sent back from the printer to the image sensing apparatus and displayed on the display unit 115. Alternatively, the image sensing apparatus must execute processing equivalent to image correction processing performed by the printer, and display the resultant image data on the display unit 115.
To perform image correction processing by the image sensing apparatus, sensed image data which has been compressed and encoded must be decompressed, undergo image processing, then be compressed again, and be transmitted to the printer. Re-compression degrades the image because the compression encoding method generally adopted in the image sensing apparatus is a lossy encoding method. When the image sensing apparatus does not have any image correction processing function, it cannot perform image correction processing.
Even when both the image sensing apparatus and printer can execute the same image correction processing, their processing qualities and functions are not always the same. It cannot be simply determined which of the image sensing apparatus and printer can achieve correction processing at a higher print quality.
As described above, when both the image sensing apparatus and printer can perform image correction processing in correction processing for printing out a sensed image, which of them is to execute the processing cannot be simply determined. Conventionally, there is no proposed mechanism of making an optimal decision. For this reason, the user prints out the same image by changing a processing site, changes settings in accordance with the result, and sets to perform image correction processing at a fixed site.